13wk-2 draft

지리정보시각화
plotly
Author

최규빈

Published

November 30, 2022

Choropleth– plotly

Import

import pandas as pd 
import json 
import requests 
import plotly.express as px

plotly 공식예제

df = px.data.election()
geojson = px.data.election_geojson()

fig = px.choropleth_mapbox(df, geojson=geojson, color="Bergeron",
                           locations="district", featureidkey="properties.district",
                           center={"lat": 45.5517, "lon": -73.7073},
                           mapbox_style="carto-positron", zoom=9)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})

한국의 인구수

df=pd.read_csv('https://raw.githubusercontent.com/guebin/2021DV/master/_notebooks/2021-11-22-prov.csv')
df
행정구역(시군구)별 총인구수 (명)
0 서울특별시 9532428
1 부산광역시 3356311
2 대구광역시 2390721
3 인천광역시 2945009
4 광주광역시 1442454
5 대전광역시 1454228
6 울산광역시 1122566
7 세종특별자치시 368276
8 경기도 13549577
9 강원도 1537717
10 충청북도 1596948
11 충청남도 2118977
12 전라북도 1789770
13 전라남도 1834653
14 경상북도 2627925
15 경상남도 3318161
16 제주특별자치도 676569
global_distriction_jsonurl='https://raw.githubusercontent.com/southkorea/southkorea-maps/master/kostat/2018/json/skorea-provinces-2018-geo.json'
global_dict = json.loads(requests.get(global_distriction_jsonurl).text)
fig = px.choropleth_mapbox(df,  ### 데이터프레임 
                           geojson=global_dict, ### json파일 
                           color="총인구수 (명)", ### df에서 코로플레스의 단계를 표시 
                           locations="행정구역(시군구)별", ### df에 존재하는 연결변수 
                           featureidkey="properties.name", ### json에 존재하는 연결매개체
                           center={"lat": 35.84195368311022, "lon": 127.1155556693179}, 
                           mapbox_style="carto-positron", 
                           zoom=5)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})